package com.ag.bean;

import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.ManyToMany;
import javax.persistence.Table;

/**
 * TbContact entity.
 * 
 * @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "TB_CONTACT", schema = "dbo", catalog = "AGDB")
public class TbContact implements java.io.Serializable {

	// Fields

	private String CId;
	private String CName;
	private String CVideo;
	private String CFax;
	private String CCellphone;
	private String CTel;
	private Integer CIsleader;
	private String a;
	private String b;
	private String c;
	private String oaDescri;
	private String oaGroups;
	private Integer oaGender;
	private Integer oaSex;
	private String oaIdCard;
	private String oaCode;
	private String oaQq;
	private String oaMsn;
	private String oaHomeNumber;
	private String oaOfficeNumber;
	private String oaEmail;
	private String oaAddress;
	private String oaZipCode;
	private String oaCertificateId;
	private String oaPositions;
	private String oaRoles;
	private Integer oaIsShow;
	private Set<TbDept> tbDepts = new HashSet<TbDept>(0);

	// Constructors

	/** default constructor */
	public TbContact() {
	}

	/** minimal constructor */
	public TbContact(String CId) {
		this.CId = CId;
	}

	/** full constructor */
	public TbContact(String CId, String CName, String CVideo, String CFax,
			String CCellphone, String CTel, Integer CIsleader, String a,
			String b, String c, String oaDescri, String oaGroups,
			Integer oaGender, Integer oaSex, String oaIdCard, String oaCode,
			String oaQq, String oaMsn, String oaHomeNumber,
			String oaOfficeNumber, String oaEmail, String oaAddress,
			String oaZipCode, String oaCertificateId, String oaPositions,
			String oaRoles, Integer oaIsShow, Set<TbDept> tbDepts) {
		this.CId = CId;
		this.CName = CName;
		this.CVideo = CVideo;
		this.CFax = CFax;
		this.CCellphone = CCellphone;
		this.CTel = CTel;
		this.CIsleader = CIsleader;
		this.a = a;
		this.b = b;
		this.c = c;
		this.oaDescri = oaDescri;
		this.oaGroups = oaGroups;
		this.oaGender = oaGender;
		this.oaSex = oaSex;
		this.oaIdCard = oaIdCard;
		this.oaCode = oaCode;
		this.oaQq = oaQq;
		this.oaMsn = oaMsn;
		this.oaHomeNumber = oaHomeNumber;
		this.oaOfficeNumber = oaOfficeNumber;
		this.oaEmail = oaEmail;
		this.oaAddress = oaAddress;
		this.oaZipCode = oaZipCode;
		this.oaCertificateId = oaCertificateId;
		this.oaPositions = oaPositions;
		this.oaRoles = oaRoles;
		this.oaIsShow = oaIsShow;
		this.tbDepts = tbDepts;
	}

	// Property accessors
	@Id
	@Column(name = "C_ID", unique = true, nullable = false, length = 10)
	public String getCId() {
		return this.CId;
	}

	public void setCId(String CId) {
		this.CId = CId;
	}

	@Column(name = "C_NAME", length = 20)
	public String getCName() {
		return this.CName;
	}

	public void setCName(String CName) {
		this.CName = CName;
	}

	@Column(name = "C_VIDEO", length = 20)
	public String getCVideo() {
		return this.CVideo;
	}

	public void setCVideo(String CVideo) {
		this.CVideo = CVideo;
	}

	@Column(name = "C_FAX", length = 20)
	public String getCFax() {
		return this.CFax;
	}

	public void setCFax(String CFax) {
		this.CFax = CFax;
	}

	@Column(name = "C_CELLPHONE", length = 20)
	public String getCCellphone() {
		return this.CCellphone;
	}

	public void setCCellphone(String CCellphone) {
		this.CCellphone = CCellphone;
	}

	@Column(name = "C_TEL", length = 20)
	public String getCTel() {
		return this.CTel;
	}

	public void setCTel(String CTel) {
		this.CTel = CTel;
	}

	@Column(name = "C_ISLEADER")
	public Integer getCIsleader() {
		return this.CIsleader;
	}

	public void setCIsleader(Integer CIsleader) {
		this.CIsleader = CIsleader;
	}

	@Column(name = "A", length = 50)
	public String getA() {
		return this.a;
	}

	public void setA(String a) {
		this.a = a;
	}

	@Column(name = "B", length = 50)
	public String getB() {
		return this.b;
	}

	public void setB(String b) {
		this.b = b;
	}

	@Column(name = "C", length = 50)
	public String getC() {
		return this.c;
	}

	public void setC(String c) {
		this.c = c;
	}

	@Column(name = "OA_DESCRI", length = 4000)
	public String getOaDescri() {
		return this.oaDescri;
	}

	public void setOaDescri(String oaDescri) {
		this.oaDescri = oaDescri;
	}

	@Column(name = "OA_GROUPS", length = 500)
	public String getOaGroups() {
		return this.oaGroups;
	}

	public void setOaGroups(String oaGroups) {
		this.oaGroups = oaGroups;
	}

	@Column(name = "OA_GENDER")
	public Integer getOaGender() {
		return this.oaGender;
	}

	public void setOaGender(Integer oaGender) {
		this.oaGender = oaGender;
	}

	@Column(name = "OA_SEX")
	public Integer getOaSex() {
		return this.oaSex;
	}

	public void setOaSex(Integer oaSex) {
		this.oaSex = oaSex;
	}

	@Column(name = "OA_ID_CARD", length = 50)
	public String getOaIdCard() {
		return this.oaIdCard;
	}

	public void setOaIdCard(String oaIdCard) {
		this.oaIdCard = oaIdCard;
	}

	@Column(name = "OA_CODE", length = 500)
	public String getOaCode() {
		return this.oaCode;
	}

	public void setOaCode(String oaCode) {
		this.oaCode = oaCode;
	}

	@Column(name = "OA_QQ", length = 20)
	public String getOaQq() {
		return this.oaQq;
	}

	public void setOaQq(String oaQq) {
		this.oaQq = oaQq;
	}

	@Column(name = "OA_MSN", length = 100)
	public String getOaMsn() {
		return this.oaMsn;
	}

	public void setOaMsn(String oaMsn) {
		this.oaMsn = oaMsn;
	}

	@Column(name = "OA_HOME_NUMBER", length = 20)
	public String getOaHomeNumber() {
		return this.oaHomeNumber;
	}

	public void setOaHomeNumber(String oaHomeNumber) {
		this.oaHomeNumber = oaHomeNumber;
	}

	@Column(name = "OA_OFFICE_NUMBER", length = 50)
	public String getOaOfficeNumber() {
		return this.oaOfficeNumber;
	}

	public void setOaOfficeNumber(String oaOfficeNumber) {
		this.oaOfficeNumber = oaOfficeNumber;
	}

	@Column(name = "OA_EMAIL", length = 100)
	public String getOaEmail() {
		return this.oaEmail;
	}

	public void setOaEmail(String oaEmail) {
		this.oaEmail = oaEmail;
	}

	@Column(name = "OA_ADDRESS", length = 500)
	public String getOaAddress() {
		return this.oaAddress;
	}

	public void setOaAddress(String oaAddress) {
		this.oaAddress = oaAddress;
	}

	@Column(name = "OA_ZIP_CODE", length = 50)
	public String getOaZipCode() {
		return this.oaZipCode;
	}

	public void setOaZipCode(String oaZipCode) {
		this.oaZipCode = oaZipCode;
	}

	@Column(name = "OA_CERTIFICATE_ID", length = 500)
	public String getOaCertificateId() {
		return this.oaCertificateId;
	}

	public void setOaCertificateId(String oaCertificateId) {
		this.oaCertificateId = oaCertificateId;
	}

	@Column(name = "OA_POSITIONS", length = 500)
	public String getOaPositions() {
		return this.oaPositions;
	}

	public void setOaPositions(String oaPositions) {
		this.oaPositions = oaPositions;
	}

	@Column(name = "OA_ROLES", length = 500)
	public String getOaRoles() {
		return this.oaRoles;
	}

	public void setOaRoles(String oaRoles) {
		this.oaRoles = oaRoles;
	}

	@Column(name = "OA_IS_SHOW")
	public Integer getOaIsShow() {
		return this.oaIsShow;
	}

	public void setOaIsShow(Integer oaIsShow) {
		this.oaIsShow = oaIsShow;
	}

	@ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "tbContacts")
	public Set<TbDept> getTbDepts() {
		return this.tbDepts;
	}

	public void setTbDepts(Set<TbDept> tbDepts) {
		this.tbDepts = tbDepts;
	}

}